<!--
 * @Author: CNN 969682281@qq.com
 * @Date: 2023-08-10 10:03:23
 * @LastEditors: 贺楠 1071780426@qq.com
 * @LastEditTime: 2024-10-28 09:25:45
 * @FilePath: \ZjGx_s\mainPro\src\qiankun\index.vue
 * @Description: 这是默认设置,请设置`customMade`, 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE
-->
<template>
  <div id="qkcontainer"></div>
</template>
<script setup lang="ts">
import {
  registerMicroApps,
  start,
  initGlobalState,
  MicroAppStateActions,
} from "qiankun";
import { history, token, refreshToken, currentUser } from "./config.json";
const initQiankun = () => {
  let app = [];
  let testapp = [
    // {
    //   name: "zdgy", //name - string - 必选，微应用的名称，微应用之间必须确保唯一。
    //   entry: "http://192.168.0.40:5002/", //entry - string | { scripts?: string[]; styles?: string[]; html?: string } - 必选，微应用的入口。
    //   container: "#qkcontainer", //tensionmanagecontainer - string | HTMLElement - 必选，微应用的容器节点的选择器或者 Element 实例。如container: '#root' 或 container: document.querySelector('#root')。
    //   activeRule: "/qualities/zdgy", //activeRule - string | (location: Location) => boolean | Array<string | (location: Location) => boolean> - 必选，微应用的激活规则。
    // },
    // {
    //   name: "szsys", //name - string - 必选，微应用的名称，微应用之间必须确保唯一。
    //   entry: "http://192.168.0.40:5005/", //entry - string | { scripts?: string[]; styles?: string[]; html?: string } - 必选，微应用的入口。
    //   container: "#qkcontainer", //tensionmanagecontainer - string | HTMLElement - 必选，微应用的容器节点的选择器或者 Element 实例。如container: '#root' 或 container: document.querySelector('#root')。
    //   activeRule: "/qualities/szsys", //activeRule - string | (location: Location) => boolean | Array<string | (location: Location) => boolean> - 必选，微应用的激活规则。
    // },   
    // {
    //   name: "weighbridge", //name - string - 必选，微应用的名称，微应用之间必须确保唯一。
    //   entry: "http://192.168.0.40:5008/", //entry - string | { scripts?: string[]; styles?: string[]; html?: string } - 必选，微应用的入口。
    //   container: "#qkcontainer", //tensionmanagecontainer - string | HTMLElement - 必选，微应用的容器节点的选择器或者 Element 实例。如container: '#root' 或 container: document.querySelector('#root')。
    //   activeRule: "/qualities/weighbridge", //activeRule - string | (location: Location) => boolean | Array<string | (location: Location) => boolean> - 必选，微应用的激活规则。
    // },
    {
      name: "szsys", //name - string - 必选，微应用的名称，微应用之间必须确保唯一。
    //  entry:"http://172.18.5.31:8300/iotSzsy/",
      entry: "http://192.168.0.40:5001/", //entry - string | { scripts?: string[]; styles?: string[]; html?: string } - 必选，微应用的入口。
      container: "#qkcontainer", //tensionmanagecontainer - string | HTMLElement - 必选，微应用的容器节点的选择器或者 Element 实例。如container: '#root' 或 container: document.querySelector('#root')。
      activeRule: "/qualities/szsys", //activeRule - string | (location: Location) => boolean | Array<string | (location: Location) => boolean> - 必选，微应用的激活规则。
    },
    // {
    //   name: "szsys", //name - string - 必选，微应用的名称，微应用之间必须确保唯一。
    //   entry: "http://192.168.0.40:5009/", //entry - string | { scripts?: string[]; styles?: string[]; html?: string } - 必选，微应用的入口。
    //   container: "#qkcontainer", //tensionmanagecontainer - string | HTMLElement - 必选，微应用的容器节点的选择器或者 Element 实例。如container: '#root' 或 container: document.querySelector('#root')。
    //   activeRule: "/qualities/szsys", //activeRule - string | (location: Location) => boolean | Array<string | (location: Location) => boolean> - 必选，微应用的激活规则。
    // },
    // {
    //   name: "pav-rol", //name - string - 必选，微应用的名称，微应用之间必须确保唯一。
    //   entry: "http://39.99.220.82:88",
    //   container: "#qkcontainer", //container - string | HTMLElement - 必选，微应用的容器节点的选择器或者 Element 实例。如container: '#root' 或 container: document.querySelector('#root')。
    //   activeRule: "/qualities/pav-rol", //activeRule - string | (location: Location) => boolean | Array<string | (location: Location) => boolean> - 必选，微应用的激活规则。
    // },
  ];
  localStorage.setItem(
    "access_token",
    "Bearer eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9.eyJleHAiOjE3MzAxNjUwNzQsInVzZXJfbmFtZSI6IkpMQkQyIiwianRpIjoiYWYxZmJiY2MtM2VjZS00ZDI0LThhNGQtZWFkMGY4OTQ5ODY5IiwiY2xpZW50X2lkIjoiZGV2LWdhdGV3YXkiLCJzY29wZSI6WyJhbGwiXX0.RtPEsOv0g1Oekzvs6eWUe24OBiSIHWWy2uCzazQ9Jf7sk1LkG2-Ogf_d6lbEytaizZywsx_FGUDBjvyt-LVWYKnIrCygwFpWYQ65bLgfRTf6icrIsYWHodHDHXnvIjHiSNXxqmVhplYe3Q-CmwDdN9xuvSM-3MbDD4C5QktYSoRiD4nI5HENjkMS2vFCtWTLVSoxDF4SPXG3-24XdMfSj67N2a-fJIfZ_BYzRJTF9DBvjxTWCFKZimdE9hWxCYG0e2l0y3CqGGUH1-4UGfKPflSO0ExV2cQl4VuwvE372gBHeJL1l3fu5UjxlPIjXeb0sMj-FEyqd-1PcCyq3jQ61A"
  );
  let FBapp = [
  
    {
      name: "szsys", //name - string - 必选，微应用的名称，微应用之间必须确保唯一。
      entry: "http://192.168.0.40:5001/",
      container: "#qkcontainer", //container - string | HTMLElement - 必选，微应用的容器节点的选择器或者 Element 实例。如container: '#root' 或 container: document.querySelector('#root')。
      activeRule: "/qualities/szsys", //activeRule - string | (location: Location) => boolean | Array<string | (location: Location) => boolean> - 必选，微应用的激活规则。
    },
    // {
    //   name: "weighbridge", //name - string - 必选，微应用的名称，微应用之间必须确保唯一。
    //   entry: "http://192.168.0.40:5008/", //entry - string | { scripts?: string[]; styles?: string[]; html?: string } - 必选，微应用的入口。
    //   container: "#qkcontainer", //tensionmanagecontainer - string | HTMLElement - 必选，微应用的容器节点的选择器或者 Element 实例。如container: '#root' 或 container: document.querySelector('#root')。
    //   activeRule: "/qualities/weighbridge", //activeRule - string | (location: Location) => boolean | Array<string | (location: Location) => boolean> - 必选，微应用的激活规则。
    // },

    // {
    //   name: "pav-rol", //name - string - 必选，微应用的名称，微应用之间必须确保唯一。
    //   entry: "http://39.99.220.82:88",
    //   // entry: "http://1.14.103.201:8318/",
    //   container: "#qkcontainer", //container - string | HTMLElement - 必选，微应用的容器节点的选择器或者 Element 实例。如container: '#root' 或 container: document.querySelector('#root')。
    //   activeRule: "/qualities/pav-rol", //activeRule - string | (location: Location) => boolean | Array<string | (location: Location) => boolean> - 必选，微应用的激活规则。
    // },
  ];
  if (process.env.NODE_ENV === "development") {
    app = testapp;
  } else {
    app = FBapp;
  }

  registerMicroApps(app, {});
  let state = {
    history: history, // 路由
    token: token,
    refreshToken: refreshToken,
    currentUser: currentUser, //当前用户信息
  };
  const actions: MicroAppStateActions = initGlobalState({});
  actions.setGlobalState(state);
  actions.offGlobalStateChange();
  start({
    sandbox: {
      experimentalStyleIsolation: true,
    },
  });
};
initQiankun();
</script>

<style lang="scss" scoped>
#qkcontainer {
  width: 100%;
  height: 100%;
}
</style>
